package com.xiliu.server.modules.basicdata.service;

import java.util.List;
import com.baomidou.mybatisplus.extension.service.IService;
import com.xiliu.server.modules.app.vo.HouseDetailVo;
import com.xiliu.server.modules.app.vo.HouseVo;
import com.xiliu.server.modules.basicdata.entity.XlHouse;

/**
 * 房源表Service接口
 * 
 * @author xiliu
 * @date 2022-11-08
 */
public interface IXlHouseService extends IService<XlHouse>{
    /**
     * 查询房源表
     * @param houseId 房源表主键
     * @return 房源表
     */
    XlHouse selectXlHouseByHouseId(Long houseId);

    /**
     * 查询房源表列表
     * @param xlHouse 房源表
     * @return 房源表集合
     */
    List<XlHouse> selectXlHouseList(XlHouse xlHouse);

    /**
     * 新增房源表
     * @param xlHouse 房源表
     * @return 结果
     */
    boolean create(XlHouse xlHouse);

    /**
     * 修改房源表
     * @param xlHouse 房源表
     * @return 结果
     */
    boolean update(XlHouse xlHouse);

    /**
     * 批量删除房源表
     * 
     * @param houseIds 需要删除的房源表主键集合
     * @return 结果
     */
    int deleteXlHouseByHouseIds(Long[] houseIds);

    /**
     * 删除房源表信息
     * 
     * @param houseId 房源表主键
     * @return 结果
     */
    int deleteXlHouseByHouseId(Long houseId);

    /**
     * 根据房源类型获取房源
     * @param type 房源类型
     * @return 房源集合
     */
    List<HouseVo> getHouseListByType(String type);

    /**
     * 根据房源id获取房源详情
     * @param houseId 房源id
     * @return 房源详情
     */
    HouseDetailVo getHouseDetailByHouseId(Long houseId);
}
